load("@prelude//toolchains:cxx.bzl", "system_cxx_toolchain")
load("@prelude//toolchains:genrule.bzl", "system_genrule_toolchain")
load("@prelude//toolchains:python.bzl", "system_python_bootstrap_toolchain")
load("@prelude//toolchains:remote_test_execution.bzl", "remote_test_execution_toolchain")
load("@prelude//toolchains:rust.bzl", "system_rust_toolchain")

system_cxx_toolchain(
    name = "cxx",
    cxx_flags = select({
        "config//os:linux": ["-std=c++17"],
        "config//os:macos": ["-std=c++17"],
        "config//os:windows": [],
    }),
    link_flags = select({
        "config//os:linux": ["-lstdc++"],
        "config//os:macos": ["-lc++"],
        "config//os:windows": [],
    }),
    visibility = ["PUBLIC"],
)

system_genrule_toolchain(
    name = "genrule",
    visibility = ["PUBLIC"],
)

system_python_bootstrap_toolchain(
    name = "python_bootstrap",
    visibility = ["PUBLIC"],
)

system_rust_toolchain(
    name = "rust",
    default_edition = None,
    doctests = True,
    visibility = ["PUBLIC"],
)

remote_test_execution_toolchain(
    name = "remote_test_execution",
    visibility = ["PUBLIC"],
)
